const path = require('path');
const resolve = (dir) => path.join(__dirname, dir);
const IS_PROD = ['production', 'prod'].includes(process.env.NODE_ENV);

module.exports = {
  publicPath: IS_PROD ? process.env.VUE_APP_PUBLIC_PATH : './', // 默认'/'，部署应用包时的基本 URL
  // outputDir: process.env.outputDir || 'dist', // 'dist', 生产环境构建文件的目录
  // assetsDir: "", // 相对于outputDir的静态资源(js、css、img、fonts)目录
  lintOnSave: true, //开发环境中不使elint的报错或者警告造成编译失败
  runtimeCompiler: true, // 是否使用包含运行时编译器的 Vue 构建版本
  css: {
    sourceMap: !IS_PROD,
    extract: false
  },
  devServer: {
    proxy: {
      '/api': {
        target: '<url>',
        ws: true,
        changeOrigin: true
      }
    }
  },
  // 添加别名
  chainWebpack: (config) => {
    config.resolve.alias
      .set('@', resolve('src'))
      .set('@assets', resolve('src/assets'))
      .set('@components', resolve('src/components'))
      .set('@views', resolve('src/views'));
  }
  // TODO:
  // scss全局变量和方法定义
  // loaderOptions: {
  //   scss: {
  //     // 向全局sass样式传入共享的全局变量, $src可以配置图片cdn前缀
  //     prependData: `
  //     @import "@scss/variables.scss";
  //     @import "@scss/mixins.scss";
  //     @import "@scss/function.scss";
  //     $src: "${process.env.VUE_APP_OSS_SRC}";
  //     `
  //   }
  // }
};
